1. Field of the Invention
The present invention relates to the field of telecommunications and, in particular, to a method and apparatus for establishing a voice call to a Public Switching Telephone Network (PSTN) extension for a networked client computer.
2. Background Information
Numerous advances have been made in recent years in the field of telecommunications. In particular, the field of internet telephony has emerged as a viable technology that is evolving at an ever increasing rate. Evidence of this evolution of internet telephony is best characterized by the number of new products recently become available in the market. Products such as CoolTalk by Netscape Communications Corporation of Mountain View, Calif.; Internet Connection Phone by International Business Machines of Amonk, N.Y.; Intel Internet Phone (IPhone) by Intel Corporation of Santa Clara, Calif.; NetMeeting by Microsoft Corporation, Redmond, Wash.; Quarterdeck WebTalk by Quarterdeck Corporation of Marina Del Rey, Calif.; TeleVox by Voxware Incorporated of Princeton, N.J.; and WebPhone by Netspeak Corporation of Boca Raton, Fla., are representative of the current state of applications facilitating interent telephony.
Each of these products offers internet based voice communications with a telephone motif, between two users each using the same (or compatible) product on either end of the internet connection. That is, the internet provides the xe2x80x9cswitchingxe2x80x9d architecture for the system, while the computer acts as the xe2x80x9chandsetxe2x80x9d, or the audio interface. One reason for the proliferation of these applications is a desire to push the technology of the internet to provide a total communications tool. The appeal to users is that, currently, the use of the internet is free of toll charges. Therefore, currently, a user of an internet phone product may communicate with another user located anywhere else in the world without having to pay the long distance charges associated with making a telephone call using the public switched telephone network (PSTN).
However, consumers expecting to completely eliminate their long-distance telephone bills through the exclusive use of internet telephony are in for a disappointment. As they shall soon discover, although innovative in their own right, the current internet based telephony applications identified above have a number of limitations which retard their acceptance as a primary communications tool. One such limitation is that many of the applications identified above require that both users have installed the same software package, or compatible packages and, therefore, provide a relatively low level of interoperability. One reason for this lack of interoperability between internet telephony applications is that the developers of many of these products have incorporated different voice encoders (commonly referred to as a xe2x80x9cvoice codecxe2x80x9d, or simply a xe2x80x9ccodecxe2x80x9d by those in the telecommunication arts) in the products. Consequently, as a result of the different codecs used, many internet telephony applications are unable to recognize speech encoded (i.e., digitized) by a codec of a disimilar application.
This problem is alleviated for those products that are upgraded to comply with emerging telephony standards, such as International Telecommunication Union""s (ITU) H.323 standard. However, other limitations remain. For example, another limitation associated with many of these products is that they are tied to the internet, often requiring all users to access a common server in order to maintain a directory of available users in which to call. That is to say, many of the applications identified above do not integrate the packet switched network of the internet with the circuit switched public switched telephone network (PSTN). Therefore, although a computer connected to the internet may communicate with another user on the internet, assuming they are both using a common software application (or at least applications with compatible codecs), these applications do not support communication with a user of a Telephone handset.
The reason for this limitation is readily understood by those who appreciate the complexity of the two networks. As alluded to above, the internet is a packet switched network. That is to say, communication over the internet is accomplished by xe2x80x9cbreakingxe2x80x9d the transmitted data into varying-sized packages (or xe2x80x9cpacketsxe2x80x9d), based primarily on communication content, and interleaving the various-sized packages to best utilize the bandwidth available at any given time on the internet. When the packets reach their intended destination, they must be reassembled into the originally transmitted data. Loss of packets, and thus data, occur frequently in such a network, and the ability of the network to succesfully transmit information from one point in the network to another determines the quality of the network. For inter-computer communication transactions involving non real-time data, the ability to transmit packets and retransmit any packets that are perceived to have been dropped is not a severe limitation and may not even be perceived by the user of the system. However, in a voice communication transaction, the delay required to retransmit even one data packet may be perceived by a user. At best, such delays are an annoying inconvenience. In practice, the delays actually can become intolerable, as the cumulative latency adds up with successive transmissions.
In contrast to the packet switched network of the internet, the public switched telephone network (PSTN) is a circuit switched network. That is to say that the PSTN assigns a dedicated communication line to a user with which to complete the telephone call, wherein the user can utilize the assigned resource of the PSTN in any way they choose, with the understanding that the user is paying for the use of the dedicated resource of the PSTN. While the circuit switched approach of the PSTN system is not necessarily the most efficient system in terms of call traffic (i.e., it does not make use of the xe2x80x9cdead spacexe2x80x9d common in a conversation), it is relatively easy to ensure that information destined for a particular user is delivered, it simply provides a dedicated line to complete the transaction.
Nonetheless, despite these engineering challanges, a few products have emerged which purport to integrate the PSTN to the internet. Products such as Net2Phone by IDT Corporation of Hackensack, N.J., claim to provide a computer user with the ability to place and receive a phone call to/from a PSTN extension. Unfortunately, none of these products completely solve the problem of integrating the two networks. The limitations perhaps best characterized by way of an example communication session. With these prior art internet telephony applications, a user of an internet telephony enabled client computer initiating a telephone call to a Telephone handset launches the voice call from the client computer by accessing a server (the primary access server), operated by the developer of the internet telephony application that supports internet telecommunications. As the initiator accesses the primary access server, he/she is prompted for a destination address, which takes the form of a PSTN telephone number for an outgoing call to a Telephone handset. Having provided the primary access server with the PSTN telephone number associated with the Telephone handset, the primary server somehow determines1 which server in a community of similarly enabled servers (i.e., servers with the hardware/software necessary to provide access to the PSTN) is closest to the destination address, and completes the telephone call by routing the telephone call through a number of intermediate servers on the internet to the selected server, which will actually place the voice call to the Telephone handset on behalf of the client computer, facilitating the voice call between the client computer and the Telephone handset. In other words, the user of the client computer is required to have prior knowledge of the destination phone number, which is limiting in many circumstances. For example, in a situation where the user of the client computer is engaged in a data communication session involving a webpage for a corporate entity, the user may wish to speak with someone in a xe2x80x9clocal officexe2x80x9d of the corporate entity. Prior art internet telephony applications require that the telephone number for the xe2x80x9clocal officexe2x80x9d of the corporate entity be provided by the user of the client computer in order to place the telephone call. If the telephone number for the xe2x80x9clocal officexe2x80x9d of the corporate entity is not provided by the webpage, the user of client computer must look it up or have prior knowledge of it.
1 The manner in which the xe2x80x9cprimary access serverxe2x80x9d determines the xe2x80x9ccall originating serverxe2x80x9d is not known. 
Additionally, while the prior art approach of simply finding the internet telephony enabled server closest to the destination address may offer the simplest technical solution and a seemingly cheaper connection, it does not ensure the quality of the voice connection. One skilled in the art will appreciate that there are a number of characteristics which may impact the quality of the voice connection. For example, insofar as the internet is a packet switched network, as the number of intermediate routers required to interface the client computer to the selected server increases so, too, does the likelihood that data packets containing voice information could be lost or corrupted. The result of lost or corrupted data packets is broken or garbled speech. Another factor affecting internet telephony communication performance is the bandwidth available on the selected server. If, for example, the selected server is very busy handling a number of other processes, the performance associated with each of the processes begins to degrade (i.e., slow down), which may also result in delayed delivery of data packets containing speech, which in turn results in user perception of poor quality. Therefore, while it is important to some users of internet telephony applications to simply keep the cost down, quality considerations must also be accounted for to enable internet telephony to evolve into a viable communications tool.
Thus, a need exists for a method and apparatus for establishing a voice call to a PSTN extension for a networked client computer that is unencumbered by the limitations associated with the prior art.
In accordance with the teachings of the present invention, a method and apparatus for establishing a voice call to a PSTN extension for a networked client computer, and routing the voice call off of the network, is provided. In a first embodiment, the apparatus comprises a storage medium having stored therein a plurality of programming instructions for implementing a set of communication services for facilitating establishment of the voice call to the PSTN extension, and an execution unit, coupled to the storage medium, for executing the plurality of programming instructions. The set of communication services include services for receiving a Push-To-Talk(trademark)2 event notification from the networked client computer, notifying of client computer""s desire to have voice communication, and in response, determining the PSTN extension. The Push-To-Talk(trademark) event notification includes identification information of an originating web server of the Push-To-Talk(trademark) option, and the determination of the PSTN extension is made in accordance with the originating web server""s identification information.
2 Push-To-Talk(trademark) is a Trademark of eFusion(trademark), Incorporated of Beaverton, Oreg. 
In another embodiment, the set of communication services further include services for providing the client computer with the IP address of the apparatus, and receiving a supplemental call request from the client computer. The supplemental call request includes the IP address, telephony and geographical information of the client computer, and the determination of the PSTN extension is also made in accordance with the telephony and/or geographical information of the client computer.
In yet another embodiment, the set of communication services further include services for soliciting inputs from one or more other apparatuses on one or more operating characteristics associated with establishing and facilitating the voice call between the client computer and the PSTN extension, selecting either the apparatus itself or one of the other apparatuses to complete the telephone call based on the solicited inputs, registering the voice call with the selected apparatus, and identifying the selected apparatus to the client computer.
In yet another embodiment, the set of communication services further include services for accepting registration of the voice call, receiving placement of a net phone call from the client computer, placing a PSTN phone call to the PSTN extension, and bridging the net and the PSTN phone calls. The bridging services include services for converting and delivering call signals between the client computer and the telephone handset.